﻿/*----------------------------------------------------------------
    // Copyright (C) 2009 江苏华招网
    // 版权所有。 
    // 作者：庄金冬 
    //
    // 文件名：IBLL_Login.cs
    // 文件功能描述：权限操作业务逻辑类,实现接口IBLL_Login,继承自类MarshalByRefObject
    // 创建标识：庄金冬2009-03-06
    //
    // 修改标识：
    // 修改描述：
    //
    // 修改标识：
    // 修改描述：
    //
    // 审核人：
    // 审核时间：
    // 审核说明：
 //----------------------------------------------------------------*/
using System;
using System.Collections.Generic;

using System.Text;
using HZ.DrugTrade.IBLL;
using HZ.DrugTrade.Model;
using HZ.DrugTrade.DAL;
using System.Data;
namespace HZ.DrugTrade.BLL
{
    [Serializable]
    /// <summary>
    /// 权限操作业务逻辑类,实现接口IBLL_Login,继承自类MarshalByRefObject
    /// </summary>
    public class BLL_OperatingRule : MarshalByRefObject, IBLL_OperatingRule
    {
        #region IBLL_OperatingRule 成员

        /// <summary>
        /// 获取所有权限
        /// </summary>
        /// <returns>所有权限</returns>
        public IList<OperatingRule> GetAllOperatingRule()
        {
            BLL_UserSession.CheckSession();
            return DAL_User.GetAllOperatingRule();
        }

        /// <summary>
        /// 根据 模块名 操作名 获取权限
        /// </summary>
        /// <param name="Module">模块名</param>
        /// <param name="OperatingRuleName">操作名</param>
        /// <returns>权限</returns>
        public OperatingRule GetOperatingRule(HZ.DrugTrade.Model.Enum.Module Module, HZ.DrugTrade.Model.Enum.OperateType OperateType)
        {
            BLL_UserSession.CheckSession();
            return DAL_User.GetOperatingRule(Module, OperateType);
        }

        /// <summary>
        /// 获取用户操作权限菜单
        /// </summary>
        /// <param name="userID">用户编号</param>
        /// <returns></returns>
        public IList<HZ.DrugTrade.Model.View.UserMenuRule> GetUserMenuRule(string userID)
        {
            BLL_UserSession.CheckSession();
            return DAL_User.GetUserMenuRule(userID);
        }

        /// <summary>
        /// 获取所有操作权限菜单
        /// </summary>
        /// <returns></returns>
        public IList<HZ.DrugTrade.Model.View.UserMenuRule> GetAllUserMenuRule()
        {
            BLL_UserSession.CheckSession();
            return DAL_User.GetAllUserMenuRule();
        }


        /// <summary>
        /// 判断某个用户是否有该权限
        /// </summary>
        /// <param name="userID">用户编号</param>
        /// <param name="module">权限模块</param>
        /// <param name="OperatingRuleID">权限ID</param>
        /// <returns></returns>
        public bool CheckUserRule(string userID, HZ.DrugTrade.Model.Enum.Module module, HZ.DrugTrade.Model.Enum.OperateType operateType)
        {
            BLL_UserSession.CheckSession();
            return DAL_User.CheckUserRule(userID, module, operateType);
        }

        #endregion

        #region IBLL_OperatingRule 成员

        /// <summary>
        /// 获取某个单位所有操作权限菜单
        /// </summary>
        /// <param name="RoleType">菜单所属角色：03.管理机构 02.配送企业01.医疗机构</param>
        /// <returns></returns>
        public IList<HZ.DrugTrade.Model.View.UserMenuRule> GetAllUserMenuRule(string RoleType)
        {
            BLL_UserSession.CheckSession();
            return DAL_User.GetAllUserMenuRule( RoleType );
        }

        #endregion
    }
}
